CREATE TABLE [dbo].[WorkInvoiceMain]
(
[WorkInvoiceKey] [uniqueidentifier] NOT NULL,
[InvoiceNumber] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[SoldToContactKey] [uniqueidentifier] NOT NULL,
[BillToContactKey] [uniqueidentifier] NOT NULL,
[FinancialEntityKey] [uniqueidentifier] NOT NULL,
[Notes] [nvarchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PaymentTermsKey] [uniqueidentifier] NULL,
[InvoiceDate] [datetime] NULL,
[InvoiceTypeCode] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[AccountingMethodCode] [nchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[SourceCodeKey] [uniqueidentifier] NULL,
[CurrencyCode] [nchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CurrencyConversionRate] [decimal] (12, 4) NULL,
[PurchaseOrderNumber] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CommissionPlanKey] [uniqueidentifier] NULL,
[SalesTeamGroupKey] [uniqueidentifier] NULL,
[OrderNumber] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[SystemEntityKey] [uniqueidentifier] NULL,
[AccessKey] [uniqueidentifier] NOT NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[UpdatedOn] [datetime] NOT NULL,
[OwnerGroupKey] [uniqueidentifier] NULL,
[FirstPaymentDueDate] [datetime] NULL,
[Description] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PromoCode] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PriceSheetKey] [uniqueidentifier] NULL,
[MarkedForDeleteOn] [datetime] NULL,
[BatchKey] [uniqueidentifier] NULL,
[OriginatingBatchKey] [uniqueidentifier] NULL,
[BatchLineStatusCode] [int] NULL,
[BatchStatusMessage] [nvarchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [PK_WorkInvoiceMain] PRIMARY KEY CLUSTERED ([WorkInvoiceKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_AccessMain] FOREIGN KEY ([AccessKey]) REFERENCES [dbo].[AccessMain] ([AccessKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_AccountingMethodRef] FOREIGN KEY ([AccountingMethodCode]) REFERENCES [dbo].[AccountingMethodRef] ([AccountingMethodCode])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_ContactMain_BillTo] FOREIGN KEY ([BillToContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_ContactMain_SoldTo] FOREIGN KEY ([SoldToContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_GroupMain_Owner] FOREIGN KEY ([OwnerGroupKey]) REFERENCES [dbo].[GroupMain] ([GroupKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_GroupMain_SalesTeam] FOREIGN KEY ([SalesTeamGroupKey]) REFERENCES [dbo].[GroupMain] ([GroupKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_SystemEntity] FOREIGN KEY ([SystemEntityKey]) REFERENCES [dbo].[SystemEntity] ([SystemEntityKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_UniformRegistry] FOREIGN KEY ([WorkInvoiceKey]) REFERENCES [dbo].[UniformRegistry] ([UniformKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[WorkInvoiceMain] ADD CONSTRAINT [FK_WorkInvoiceMain_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO